﻿using System.Collections.Generic;

namespace Algoritmia.DataStructures.Lists
{
    public interface IList<T> : 
        ICountable, 
        IEnumerable<T>
    {
        void Add(T elem);
        void Clear();
        bool Contains(T item);
        T this[int index] { get; set; }
        int IndexOf(T item);
        void InsertAt(T elem, int index);
        bool Remove(T item);
        void RemoveAt(int index);
    }

}
